<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilloader: xloader.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilloader
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('xloader_8h.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">xloader.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<a name="details" id="details"></a><h2 class="groupheader">Overview</h2>
<div class="textblock"><p>This file contains declarations for image store functions. </p>
<pre>
MODIFICATION HISTORY:</pre><pre>Ver   Who  Date        Changes
</p>
<hr/>
<p>
1.00  kc   07/25/2018 Initial release
      tp   04/05/2019 Added API to reload a particular image
      kc   04/09/2019 Added support for PCIe secondary boot mode and
                                        partial PDI load
      bsv  06/11/2019 Added TCM power up code to Xilloader to fix issue in
                                        R5-1 split mode functionality
      bsv  06/17/2019 Added support for CFI and CFU error handling
      bsv  06/26/2019 Added secondary boot support
      kc   07/16/2019 Added code to print execution time
      rv   07/29/2019 Added code to request boot source before subsystem restart
      vnsl 07/30/2019 Added APIs to load secure headers
      scs  08/29/2019 Added API to validate extended ID Code
      bsv  08/30/2019 Added fallback and multiboot support in PLM
      kc   09/05/2019 Added code to use PMCDMA0 and PMCDMA1 in parallel
      kc   09/13/2019 SBI reset is removed for SMAP boot mode to ensure smap
                                        bus width value remains unchanged
1.01  bsv  10/31/2019 Added USB secondary boot mode support
      kc   12/02/2019 Added performance time stamps
      ma   12/12/2019 Added support for passing hand off parameters to ATF
      bsv  12/30/2019 Added SMAP secondary boot mode support
      ma   02/03/2020 Change XPlmi_MeasurePerfTime to retrieve Performance
                      time and print
      bsv  02/12/2020 Added support for SD/eMMC raw boot mode
      bsv  02/23/2020 Added multi partition support for SD/eMMC FS boot modes
      bsv  02/25/2020 Added macros to handle u32 return values from drivers
      vnsl 02/26/2020 Added boot header reading call during partial PDI
      kc   02/27/2020 Added SEM support for partial reconfiguration
      bsv  02/28/2020 Added support for delay handoff
      har  02/28/2020 Removed code to return error codes for security related
                      errors
      vnsl 03/01/2020 Added PUF KEK decrypt support
      bsv  03/14/2020 Added eMMC0 FS and raw boot mode support
      bsv  04/09/2020 Code clean up
1.02    ana  06/04/2020 Updated PlmkatStatus and Kekstatus variables from
                                        initial boot pdi to partial pdi structure variables
      bsv  06/22/2020 Cfi error handler should only be called for PL image
      bsv  07/01/2020 Added DevRelease to DevOps
      skd  07/14/2020 Function pointers Copy and DeviceCopy prototypes changed
      kal  07/20/2020 Added macro XLOADER_SECURE_CHUNK_SIZE for security
      bsv  07/29/2020 Added CopyToMem address and delay load fields in XilPdi
                      structure
      skd  07/29/2020 Removed device copy macros
      bsv  08/06/2020 Code clean up
      bsv  08/10/2020 Added subsystem restart support from DDR
      har  08/11/2020 Added XLOADER_AUTH_JTAG_INT_STATUS_POLL_INTERVAL
      kal  08/12/2020 Added param ImageId for XLoader_CframeErrorHandler
                      to identify Full PL partition and perform PL house
                      cleaning.
      bsv  08/17/2020 Added redundancy in XLoader_IsAuthEnabled
      td   08/19/2020 Fixed MISRA C violations Rule 10.3
      bm   08/19/2020 Added minor error codes
      skd  08/21/2020 Added flash size macros
      bm   09/21/2020 Added ImageInfo related code and added compatibility
                      check required for DFx
      bm   09/24/2020 Added FuncID argument to RestartImage and ReloadImage
      bsv  10/13/2020 Code clean up
      ana  10/19/2020 Added doxygen comments
1.03  bm   12/15/2020 Added XLOADER_SD_MAX_BOOT_FILES_LIMIT macro
      ma   01/12/2021 Added macro for invalid boot mode
                      Added macro for invalid SLR Type
                      Added function for PMC State clear
      bm   03/16/2021 Added Image Upgrade support
      bm   05/10/2021 Added additional macro for PDI version
1.04  bm   07/16/2021 Updated XLoader_PdiInit prototype
      bsv  07/19/2021 Disable UART prints when invalid header is encountered
                      in slave boot modes
      bsv  08/02/2021 Updated function return type as part of code clean up
      bm   08/09/2021 Removed obsolete XLoader_PMCStateClear API prototype
      bm   08/24/2021 Added Extract Metaheader support
      bm   08/26/2021 Added XLOADER_PDI_TYPE_PARTIAL_METAHEADER macro
      bsv  08/31/2021 Code clean up
      ma   09/01/2021 Use SSIT defines from XilPlmi
      kpt  09/06/2021 Added macro XLOADER_TOTAL_CHUNK_SIZE
      bsv  10/26/2021 Code clean up
      bsv  03/17/2022 Add support for A72 elfs to run from TCM
1.05  ma   06/21/2022 Add support for Get Handoff Parameters IPI command
      sk   06/24/2022 Removed bit field from XLoader_ImageInfoTbl to avoid
                      compiler or portability issues
      bm   07/06/2022 Refactor versal and versal_net code
      kpt  07/05/22 Added PpdiKatStatus for partial pdi KAT
      bm   07/13/2022 Added compatibility check for In-Place PLM Update
      bm   07/13/2022 Retain critical data structures after In-Place PLM Update
      ma   07/27/2022 Added support for CFrame data clear check which is
                       required during PL secure lockdown
      kal  01/05/2023 Added XLOADER_PCR_INVALID_VALUE macro
1.06  sk   01/11/2023 Updated XLoader_ImageStore structure to support
                      image store feature
      bm   02/22/2023 Fix XLOADER_MAX_HANDOFF_CPUS value for versal Net
      sk   03/17/2023 Renamed member Kekstatus to DecKeySrc in xilpdi structure
      sk   04/28/2023 Added function to retrieve PDI Address from Image Store
                      based on PDI ID
      sk   05/18/2023 Deprecate copy to memory feature,removed SubsystemPdiIns,
                      Added BootPdiInfo Structure,Added XLoader_GetPdiInstance
                      function declaration
      sk   07/06/2023 Added prototype for Enable and Disable Jtag functions
                      Moved minor error codes to plat headers
      sk   08/18/2023 Renamed ValidHeader member to DiscardUartLogs in XilPdi
      dd   09/11/2023 MISRA-C violation Rule 17.8 fixed
2.00  kpt  02/21/2024 Update prototype for XLoader_EnableJtag and XLoader_DisableJtag
      mss  03/06/2024 Added ClearAtfHandoff member in XilPdi structure and
                      ClearATFHandoffParams function prototype
      har  03/12/2024 Fixed doxygen warnings
      kal  06/04/2024 Added ImagePrtnId to XilPdi structure
      mss  04/05/2024 Added XLOADER_DEVICE_COPY_OPTIMIZATION_MASK macro
      pre  08/22/2024 Added XLoader_CfiSelectiveRead function
      obs  09/30/2024 Fixed Doxygen Warnings
      pre  12/09/2024 use PMC RAM for Metaheader instead of PPU1 RAM
      bm   12/16/2024 Move I2C Handshake feature to common code
      tri  03/13/2025 Added XLOADER_PCR_NUMBER_MASK macro
      pre  03/02/2025 Added XLoader_PpdiEventParamsPtr function and
                      XLoader_ResourceSts type definition
      sk   03/28/2025 Updated the max handoff count for versal_2ve_2vm
</pre> </div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:adb8a1c93c55e43c1e0080faa28d292b7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#adb8a1c93c55e43c1e0080faa28d292b7">XLOADER_SUCCESS</a>&#160;&#160;&#160;(u32)XST_SUCCESS</td></tr>
<tr class="memdesc:adb8a1c93c55e43c1e0080faa28d292b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for XST_SUCCESS.  <a href="#adb8a1c93c55e43c1e0080faa28d292b7">More...</a><br/></td></tr>
<tr class="separator:adb8a1c93c55e43c1e0080faa28d292b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a435334442f843644d3ebb0f870538830"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a435334442f843644d3ebb0f870538830">XLOADER_FAILURE</a>&#160;&#160;&#160;(u32)XST_FAILURE</td></tr>
<tr class="memdesc:a435334442f843644d3ebb0f870538830"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for XST_FAILURE.  <a href="#a435334442f843644d3ebb0f870538830">More...</a><br/></td></tr>
<tr class="separator:a435334442f843644d3ebb0f870538830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c2c59c675ae6513a4ec1ab298f9caf1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a9c2c59c675ae6513a4ec1ab298f9caf1">XLoader_Printf</a>&#160;&#160;&#160;XPlmi_Printf</td></tr>
<tr class="memdesc:a9c2c59c675ae6513a4ec1ab298f9caf1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for XPlmi_Printf.  <a href="#a9c2c59c675ae6513a4ec1ab298f9caf1">More...</a><br/></td></tr>
<tr class="separator:a9c2c59c675ae6513a4ec1ab298f9caf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdf297ceb824c64644f7dc39bb87dc3e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#abdf297ceb824c64644f7dc39bb87dc3e">XLOADER_DDR_TEMP_BUFFER_ADDRESS</a>&#160;&#160;&#160;(0x50000000U)</td></tr>
<tr class="memdesc:abdf297ceb824c64644f7dc39bb87dc3e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Fixed DFU temporary address in DDR.  <a href="#abdf297ceb824c64644f7dc39bb87dc3e">More...</a><br/></td></tr>
<tr class="separator:abdf297ceb824c64644f7dc39bb87dc3e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a732b3b1ac340dbfdb48da621a9d32071"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a732b3b1ac340dbfdb48da621a9d32071">XLOADER_CHUNK_SIZE</a>&#160;&#160;&#160;(0x10000U)</td></tr>
<tr class="memdesc:a732b3b1ac340dbfdb48da621a9d32071"><td class="mdescLeft">&#160;</td><td class="mdescRight">64K  <a href="#a732b3b1ac340dbfdb48da621a9d32071">More...</a><br/></td></tr>
<tr class="separator:a732b3b1ac340dbfdb48da621a9d32071"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43a56f4e5a72a30f9178f159abf585a4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a43a56f4e5a72a30f9178f159abf585a4">XLOADER_TOTAL_CHUNK_SIZE</a>&#160;&#160;&#160;(<a class="el" href="xloader_8h.html#a732b3b1ac340dbfdb48da621a9d32071">XLOADER_CHUNK_SIZE</a> + 0x100U)</td></tr>
<tr class="memdesc:a43a56f4e5a72a30f9178f159abf585a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Total chunk size.  <a href="#a43a56f4e5a72a30f9178f159abf585a4">More...</a><br/></td></tr>
<tr class="separator:a43a56f4e5a72a30f9178f159abf585a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a47f9e913d294cbf5cda326e9aeef55f5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a47f9e913d294cbf5cda326e9aeef55f5">XLOADER_DMA_LEN_ALIGN</a>&#160;&#160;&#160;(0x10U)</td></tr>
<tr class="memdesc:a47f9e913d294cbf5cda326e9aeef55f5"><td class="mdescLeft">&#160;</td><td class="mdescRight">16 bytes alignment  <a href="#a47f9e913d294cbf5cda326e9aeef55f5">More...</a><br/></td></tr>
<tr class="separator:a47f9e913d294cbf5cda326e9aeef55f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a850f9e4c5fd1eb6b8c24594276a6cb76"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a850f9e4c5fd1eb6b8c24594276a6cb76">XLOADER_DMA_LEN_ALIGN_MASK</a>&#160;&#160;&#160;(0xFU)</td></tr>
<tr class="memdesc:a850f9e4c5fd1eb6b8c24594276a6cb76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for 16 bytes alignment.  <a href="#a850f9e4c5fd1eb6b8c24594276a6cb76">More...</a><br/></td></tr>
<tr class="separator:a850f9e4c5fd1eb6b8c24594276a6cb76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad0311ce6cc613d2bc19f97ebf2c6321f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#ad0311ce6cc613d2bc19f97ebf2c6321f">XLOADER_IMAGE_SEARCH_OFFSET</a>&#160;&#160;&#160;(0x8000U)</td></tr>
<tr class="memdesc:ad0311ce6cc613d2bc19f97ebf2c6321f"><td class="mdescLeft">&#160;</td><td class="mdescRight">32K  <a href="#ad0311ce6cc613d2bc19f97ebf2c6321f">More...</a><br/></td></tr>
<tr class="separator:ad0311ce6cc613d2bc19f97ebf2c6321f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf2917ca5bd94bc73423c5990c220f74"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#abf2917ca5bd94bc73423c5990c220f74">XLOADER_DEVICE_COPY_OPTIMIZATION_MASK</a>&#160;&#160;&#160;(0x30U)</td></tr>
<tr class="memdesc:abf2917ca5bd94bc73423c5990c220f74"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask to extract copy optimization bits of RTCA SecureCtrl registers.  <a href="#abf2917ca5bd94bc73423c5990c220f74">More...</a><br/></td></tr>
<tr class="separator:abf2917ca5bd94bc73423c5990c220f74"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e31ccbd854b013520c511ca9a32b24d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a1e31ccbd854b013520c511ca9a32b24d">XLOADER_PCR_NUMBER_MASK</a>&#160;&#160;&#160;(0x0000FFFFU)</td></tr>
<tr class="memdesc:a1e31ccbd854b013520c511ca9a32b24d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number mask value.  <a href="#a1e31ccbd854b013520c511ca9a32b24d">More...</a><br/></td></tr>
<tr class="separator:a1e31ccbd854b013520c511ca9a32b24d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81c7f515b6dd39b5c34b337451e9177e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a81c7f515b6dd39b5c34b337451e9177e">XLOADER_RESP_CMD_EXEC_STATUS_INDEX</a>&#160;&#160;&#160;(0U)</td></tr>
<tr class="memdesc:a81c7f515b6dd39b5c34b337451e9177e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of executed coammnd status.  <a href="#a81c7f515b6dd39b5c34b337451e9177e">More...</a><br/></td></tr>
<tr class="separator:a81c7f515b6dd39b5c34b337451e9177e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a30037b95bdaf68ea98a996ca4b1f9ca6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a30037b95bdaf68ea98a996ca4b1f9ca6">XLOADER_RESP_CMD_LOAD_PDI_STATUS_INDEX</a>&#160;&#160;&#160;(1U)</td></tr>
<tr class="memdesc:a30037b95bdaf68ea98a996ca4b1f9ca6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index of PDI load status.  <a href="#a30037b95bdaf68ea98a996ca4b1f9ca6">More...</a><br/></td></tr>
<tr class="separator:a30037b95bdaf68ea98a996ca4b1f9ca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8e7dfbd981e9ffd59d610f0966737376"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a8e7dfbd981e9ffd59d610f0966737376">XLOADER_INVALID_IMG_ID</a>&#160;&#160;&#160;(0x0U)</td></tr>
<tr class="memdesc:a8e7dfbd981e9ffd59d610f0966737376"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid Img ID.  <a href="#a8e7dfbd981e9ffd59d610f0966737376">More...</a><br/></td></tr>
<tr class="separator:a8e7dfbd981e9ffd59d610f0966737376"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a276f17de892a055f66ab00fe7def7b07"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a276f17de892a055f66ab00fe7def7b07">XLOADER_INVALID_UID</a>&#160;&#160;&#160;(0x0U)</td></tr>
<tr class="memdesc:a276f17de892a055f66ab00fe7def7b07"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid UID.  <a href="#a276f17de892a055f66ab00fe7def7b07">More...</a><br/></td></tr>
<tr class="separator:a276f17de892a055f66ab00fe7def7b07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c615acff1f97aef1faf318328da9cc6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a9c615acff1f97aef1faf318328da9cc6">XLOADER_IMG_INDEX_NOT_FOUND</a>&#160;&#160;&#160;(0xFFFFFFFFU)</td></tr>
<tr class="memdesc:a9c615acff1f97aef1faf318328da9cc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Image Index Not found.  <a href="#a9c615acff1f97aef1faf318328da9cc6">More...</a><br/></td></tr>
<tr class="separator:a9c615acff1f97aef1faf318328da9cc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd92637607e4c3b9763909501b74e53d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#abd92637607e4c3b9763909501b74e53d">XLOADER_IMG_STORE_INVALID_ADDR</a>&#160;&#160;&#160;(0xFFFFFFFFFFFFFFFFUL)</td></tr>
<tr class="memdesc:abd92637607e4c3b9763909501b74e53d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid address in Image Store.  <a href="#abd92637607e4c3b9763909501b74e53d">More...</a><br/></td></tr>
<tr class="separator:abd92637607e4c3b9763909501b74e53d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adbc3b9297a363fb6e4d32eae5981995e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#adbc3b9297a363fb6e4d32eae5981995e">XLOADER_IMG_STORE_INVALID_SIZE</a>&#160;&#160;&#160;(0x0U)</td></tr>
<tr class="memdesc:adbc3b9297a363fb6e4d32eae5981995e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Invalid size in Image Store.  <a href="#adbc3b9297a363fb6e4d32eae5981995e">More...</a><br/></td></tr>
<tr class="separator:adbc3b9297a363fb6e4d32eae5981995e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b158ce0f453a76bb3cf394a719e1828"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a1b158ce0f453a76bb3cf394a719e1828">PdiSrc_t</a>&#160;&#160;&#160;u32</td></tr>
<tr class="memdesc:a1b158ce0f453a76bb3cf394a719e1828"><td class="mdescLeft">&#160;</td><td class="mdescRight">Alias for u32.  <a href="#a1b158ce0f453a76bb3cf394a719e1828">More...</a><br/></td></tr>
<tr class="separator:a1b158ce0f453a76bb3cf394a719e1828"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afd7ea75c6ca83abbd15d201bfc2d676a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#afd7ea75c6ca83abbd15d201bfc2d676a">XLOADER_MULTIBOOT_OFFSET_MASK</a>&#160;&#160;&#160;(0x001FFFFFU)</td></tr>
<tr class="memdesc:afd7ea75c6ca83abbd15d201bfc2d676a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Mask for multiboot offset.  <a href="#afd7ea75c6ca83abbd15d201bfc2d676a">More...</a><br/></td></tr>
<tr class="separator:afd7ea75c6ca83abbd15d201bfc2d676a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a899656e989a770acad6086a0c6dee62a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a899656e989a770acad6086a0c6dee62a">XLOADER_SD_MAX_BOOT_FILES_LIMIT</a>&#160;&#160;&#160;(8192U)</td></tr>
<tr class="memdesc:a899656e989a770acad6086a0c6dee62a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum limit of boot files in SD filesystem.  <a href="#a899656e989a770acad6086a0c6dee62a">More...</a><br/></td></tr>
<tr class="separator:a899656e989a770acad6086a0c6dee62a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1c07f25f3a85d246c5ebbca89c290fda"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a1c07f25f3a85d246c5ebbca89c290fda">XLOADER_UFS_MAX_BOOT_FILES_LIMIT</a>&#160;&#160;&#160;(8192U)</td></tr>
<tr class="memdesc:a1c07f25f3a85d246c5ebbca89c290fda"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum limit of boot files in UFS filesystem.  <a href="#a1c07f25f3a85d246c5ebbca89c290fda">More...</a><br/></td></tr>
<tr class="separator:a1c07f25f3a85d246c5ebbca89c290fda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e018fe67fe40d7db1fee76204c70078"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a7e018fe67fe40d7db1fee76204c70078">XLOADER_AUTH_JTAG_INT_STATUS_POLL_INTERVAL</a>&#160;&#160;&#160;(1000U)</td></tr>
<tr class="memdesc:a7e018fe67fe40d7db1fee76204c70078"><td class="mdescLeft">&#160;</td><td class="mdescRight">Polling interval for checking Authenticated JTAG interrupt status.  <a href="#a7e018fe67fe40d7db1fee76204c70078">More...</a><br/></td></tr>
<tr class="separator:a7e018fe67fe40d7db1fee76204c70078"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a261fb4f12be9886db96079709efd1608"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a261fb4f12be9886db96079709efd1608">XLOADER_SHA3_LEN</a>&#160;&#160;&#160;(48U)</td></tr>
<tr class="memdesc:a261fb4f12be9886db96079709efd1608"><td class="mdescLeft">&#160;</td><td class="mdescRight">SHA3 hash length in bytes.  <a href="#a261fb4f12be9886db96079709efd1608">More...</a><br/></td></tr>
<tr class="separator:a261fb4f12be9886db96079709efd1608"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a120a1c6196076e7d8f9d0c8344d8f0a3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a120a1c6196076e7d8f9d0c8344d8f0a3">XLOADER_MAX_PDI_LIST</a>&#160;&#160;&#160;(32U)</td></tr>
<tr class="memdesc:a120a1c6196076e7d8f9d0c8344d8f0a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Maximum number of PDIs.  <a href="#a120a1c6196076e7d8f9d0c8344d8f0a3">More...</a><br/></td></tr>
<tr class="separator:a120a1c6196076e7d8f9d0c8344d8f0a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a719f68c8fa183b09472bd8a20a50ab59"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a719f68c8fa183b09472bd8a20a50ab59">XLoader_MbPmcI2cHandshake</a>&#160;&#160;&#160;(NULL)</td></tr>
<tr class="memdesc:a719f68c8fa183b09472bd8a20a50ab59"><td class="mdescLeft">&#160;</td><td class="mdescRight">DDRMB - PMC I2C Handshake.  <a href="#a719f68c8fa183b09472bd8a20a50ab59">More...</a><br/></td></tr>
<tr class="separator:a719f68c8fa183b09472bd8a20a50ab59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Subsystem related macros</div></td></tr>
<tr class="memitem:ac08a01801ca8b16fa3fa2482e109bbf4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#ac08a01801ca8b16fa3fa2482e109bbf4">XLOADER_MAX_HANDOFF_CPUS</a>&#160;&#160;&#160;(10U)</td></tr>
<tr class="memdesc:ac08a01801ca8b16fa3fa2482e109bbf4"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Subsystem related macros  <a href="#ac08a01801ca8b16fa3fa2482e109bbf4">More...</a><br/></td></tr>
<tr class="separator:ac08a01801ca8b16fa3fa2482e109bbf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Macros for different PDI types</div></td></tr>
<tr class="memitem:a1652b4d0eb7aed02ead9dc01a2308f01"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a1652b4d0eb7aed02ead9dc01a2308f01">XLOADER_PDI_TYPE_FULL</a>&#160;&#160;&#160;(0x1U)</td></tr>
<tr class="memdesc:a1652b4d0eb7aed02ead9dc01a2308f01"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Different PDI types  <a href="#a1652b4d0eb7aed02ead9dc01a2308f01">More...</a><br/></td></tr>
<tr class="separator:a1652b4d0eb7aed02ead9dc01a2308f01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32a5a2918cb9e891e72c3501ea804e6c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a32a5a2918cb9e891e72c3501ea804e6c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_PDI_TYPE_PARTIAL</b>&#160;&#160;&#160;(0x2U)</td></tr>
<tr class="separator:a32a5a2918cb9e891e72c3501ea804e6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a743114f49c58ff8c597a736788a6327d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a743114f49c58ff8c597a736788a6327d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_PDI_TYPE_RESTORE</b>&#160;&#160;&#160;(0x3U)</td></tr>
<tr class="separator:a743114f49c58ff8c597a736788a6327d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87c6ddbbbf8a611755e601515861f5ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a87c6ddbbbf8a611755e601515861f5ce"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_PDI_TYPE_FULL_METAHEADER</b>&#160;&#160;&#160;(0x4U)</td></tr>
<tr class="separator:a87c6ddbbbf8a611755e601515861f5ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab149226d5c859894c5137ecb85f4b318"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab149226d5c859894c5137ecb85f4b318"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_PDI_TYPE_PARTIAL_METAHEADER</b>&#160;&#160;&#160;(0x5U)</td></tr>
<tr class="separator:ab149226d5c859894c5137ecb85f4b318"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afba29fd53326c56297a9501b74477222"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afba29fd53326c56297a9501b74477222"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_PDI_TYPE_IPU</b>&#160;&#160;&#160;(0x6U)</td></tr>
<tr class="separator:afba29fd53326c56297a9501b74477222"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">SD boot</div></td></tr>
<tr class="memitem:ab12cb9d0e970d37bd121055708edf695"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#ab12cb9d0e970d37bd121055708edf695">XLOADER_PDISRC_FLAGS_MASK</a>&#160;&#160;&#160;(0xFU)</td></tr>
<tr class="memdesc:ab12cb9d0e970d37bd121055708edf695"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; SD boot related macros  <a href="#ab12cb9d0e970d37bd121055708edf695">More...</a><br/></td></tr>
<tr class="separator:ab12cb9d0e970d37bd121055708edf695"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d1b72e05dee20ef21d46e9fa3dbce71"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d1b72e05dee20ef21d46e9fa3dbce71"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_PDISRC_FLAGS_SHIFT</b>&#160;&#160;&#160;(0x4U)</td></tr>
<tr class="separator:a3d1b72e05dee20ef21d46e9fa3dbce71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Status of PDI Load</div></td></tr>
<tr class="memitem:ab2378f829282076dd8a9caaa96dbd2c6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#ab2378f829282076dd8a9caaa96dbd2c6">XLOADER_PDI_LOAD_COMPLETE</a>&#160;&#160;&#160;(0x1U)</td></tr>
<tr class="memdesc:ab2378f829282076dd8a9caaa96dbd2c6"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; Status of PDI load  <a href="#ab2378f829282076dd8a9caaa96dbd2c6">More...</a><br/></td></tr>
<tr class="separator:ab2378f829282076dd8a9caaa96dbd2c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeac9348787fdfee686ce28bf98c788ea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeac9348787fdfee686ce28bf98c788ea"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_PDI_LOAD_STARTED</b>&#160;&#160;&#160;(0x0U)</td></tr>
<tr class="separator:aeac9348787fdfee686ce28bf98c788ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">SLR Types</div></td></tr>
<tr class="memitem:afe7a2eabaffc84d18d84dcb5a3fc7db5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#afe7a2eabaffc84d18d84dcb5a3fc7db5">XLOADER_SSIT_MONOLITIC</a>&#160;&#160;&#160;XPLMI_SSIT_MONOLITIC</td></tr>
<tr class="memdesc:afe7a2eabaffc84d18d84dcb5a3fc7db5"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; SLR Types  <a href="#afe7a2eabaffc84d18d84dcb5a3fc7db5">More...</a><br/></td></tr>
<tr class="separator:afe7a2eabaffc84d18d84dcb5a3fc7db5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51ce3970e5022844e7aefa31cecd7156"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a51ce3970e5022844e7aefa31cecd7156"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_SSIT_MASTER_SLR</b>&#160;&#160;&#160;XPLMI_SSIT_MASTER_SLR</td></tr>
<tr class="separator:a51ce3970e5022844e7aefa31cecd7156"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfce664c8ccc9623a06dac021dfde5ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adfce664c8ccc9623a06dac021dfde5ec"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_SSIT_INVALID_SLR</b>&#160;&#160;&#160;XPLMI_SSIT_INVALID_SLR</td></tr>
<tr class="separator:adfce664c8ccc9623a06dac021dfde5ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">PDI version</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>&lt; Flash size </p>
</div></td></tr>
<tr class="memitem:a82e4223ffe9c3d591f62b2a2cd61bb09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#a82e4223ffe9c3d591f62b2a2cd61bb09">XLOADER_PDI_VERSION_1</a>&#160;&#160;&#160;(0x01030000U)</td></tr>
<tr class="memdesc:a82e4223ffe9c3d591f62b2a2cd61bb09"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; PDI version  <a href="#a82e4223ffe9c3d591f62b2a2cd61bb09">More...</a><br/></td></tr>
<tr class="separator:a82e4223ffe9c3d591f62b2a2cd61bb09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6df525324a7414b0c53d92dd0a60e8ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6df525324a7414b0c53d92dd0a60e8ad"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_PDI_VERSION_2</b>&#160;&#160;&#160;(0x00020000U)</td></tr>
<tr class="separator:a6df525324a7414b0c53d92dd0a60e8ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7310dc42feb57fbf6c99650a7aa81f43"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7310dc42feb57fbf6c99650a7aa81f43"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_PDI_VERSION_4</b>&#160;&#160;&#160;(0x00040000U)</td></tr>
<tr class="separator:a7310dc42feb57fbf6c99650a7aa81f43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">PDI Src Index</div></td></tr>
<tr class="memitem:ac8097924f1abad9477162e3b273ccfc6"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#ac8097924f1abad9477162e3b273ccfc6">XLOADER_SBI_INDEX</a>&#160;&#160;&#160;(0U)</td></tr>
<tr class="memdesc:ac8097924f1abad9477162e3b273ccfc6"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; PDI Src index  <a href="#ac8097924f1abad9477162e3b273ccfc6">More...</a><br/></td></tr>
<tr class="separator:ac8097924f1abad9477162e3b273ccfc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a509865a187dec9616d8d7ba0d9ffaf88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a509865a187dec9616d8d7ba0d9ffaf88"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_QSPI_INDEX</b>&#160;&#160;&#160;(1U)</td></tr>
<tr class="separator:a509865a187dec9616d8d7ba0d9ffaf88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af18f6cea73063646bc1f2434a84d354f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af18f6cea73063646bc1f2434a84d354f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_SD_INDEX</b>&#160;&#160;&#160;(2U)</td></tr>
<tr class="separator:af18f6cea73063646bc1f2434a84d354f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6266d466e738a03b5ea1929f336964c7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6266d466e738a03b5ea1929f336964c7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_SD_RAW_INDEX</b>&#160;&#160;&#160;(3U)</td></tr>
<tr class="separator:a6266d466e738a03b5ea1929f336964c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3be7bdee7094d4525a2be9b13171053f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3be7bdee7094d4525a2be9b13171053f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_DDR_INDEX</b>&#160;&#160;&#160;(4U)</td></tr>
<tr class="separator:a3be7bdee7094d4525a2be9b13171053f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a452b8de291dcf6d06470cec8310354cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a452b8de291dcf6d06470cec8310354cc"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_OSPI_INDEX</b>&#160;&#160;&#160;(5U)</td></tr>
<tr class="separator:a452b8de291dcf6d06470cec8310354cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59fac10a95ec76d96c5c5141d6f5b60a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a59fac10a95ec76d96c5c5141d6f5b60a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_USB_INDEX</b>&#160;&#160;&#160;(6U)</td></tr>
<tr class="separator:a59fac10a95ec76d96c5c5141d6f5b60a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60611dcd9e999df6f35aa7d2326bbe6b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a60611dcd9e999df6f35aa7d2326bbe6b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_UFS_INDEX</b>&#160;&#160;&#160;(7U)</td></tr>
<tr class="separator:a60611dcd9e999df6f35aa7d2326bbe6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25c6469cac33cf88062f81e49b4256c9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a25c6469cac33cf88062f81e49b4256c9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_INVALID_INDEX</b>&#160;&#160;&#160;(8U)</td></tr>
<tr class="separator:a25c6469cac33cf88062f81e49b4256c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">SD Raw boot</div></td></tr>
<tr class="memitem:afbc78ce060738297f457ad9f7ae07295"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="xloader_8h.html#afbc78ce060738297f457ad9f7ae07295">XLOADER_SD_RAWBOOT_MASK</a>&#160;&#160;&#160;(0xF0000000U)</td></tr>
<tr class="memdesc:afbc78ce060738297f457ad9f7ae07295"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; SD Raw boot  <a href="#afbc78ce060738297f457ad9f7ae07295">More...</a><br/></td></tr>
<tr class="separator:afbc78ce060738297f457ad9f7ae07295"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a19e6cf228e45a8560c04afd97c7b414f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a19e6cf228e45a8560c04afd97c7b414f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_SD_RAWBOOT_VAL</b>&#160;&#160;&#160;(0x70000000U)</td></tr>
<tr class="separator:a19e6cf228e45a8560c04afd97c7b414f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0996d704d6debf69a8d23e39a5f20fba"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0996d704d6debf69a8d23e39a5f20fba"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_EMMC_BP1_RAW_VAL</b>&#160;&#160;&#160;(0x10000000U)</td></tr>
<tr class="separator:a0996d704d6debf69a8d23e39a5f20fba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae594f2680f612b145b931eee0ecf036a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae594f2680f612b145b931eee0ecf036a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XLOADER_EMMC_BP2_RAW_VAL</b>&#160;&#160;&#160;(0x20000000U)</td></tr>
<tr class="separator:ae594f2680f612b145b931eee0ecf036a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gacb10f2e97fecfb15aae4fed081b02502"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gacb10f2e97fecfb15aae4fed081b02502">XLoader_Init</a> (void)</td></tr>
<tr class="memdesc:gacb10f2e97fecfb15aae4fed081b02502"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the loader instance and registers loader commands with PLM.  <a href="group__xloader__server__apis.html#gacb10f2e97fecfb15aae4fed081b02502">More...</a><br/></td></tr>
<tr class="separator:gacb10f2e97fecfb15aae4fed081b02502"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf60991670bc1598b674f3f81d3982caf"><td class="memItemLeft" align="right" valign="top">XilPdi *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#gaf60991670bc1598b674f3f81d3982caf">XLoader_GetPdiInstance</a> (void)</td></tr>
<tr class="memdesc:gaf60991670bc1598b674f3f81d3982caf"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function provides PdiInstance pointer.  <a href="group__xloader__server__apis.html#gaf60991670bc1598b674f3f81d3982caf">More...</a><br/></td></tr>
<tr class="separator:gaf60991670bc1598b674f3f81d3982caf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8493673eccf135010606bf9449bc5ee4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xloader__server__apis.html#ga8493673eccf135010606bf9449bc5ee4">XLoader_LoadPdi</a> (XilPdi *PdiPtr, <a class="el" href="xloader_8h.html#a1b158ce0f453a76bb3cf394a719e1828">PdiSrc_t</a> PdiSrc, u64 PdiAddr)</td></tr>
<tr class="memdesc:ga8493673eccf135010606bf9449bc5ee4"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function provides loading PDI.  <a href="group__xloader__server__apis.html#ga8493673eccf135010606bf9449bc5ee4">More...</a><br/></td></tr>
<tr class="separator:ga8493673eccf135010606bf9449bc5ee4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a1b158ce0f453a76bb3cf394a719e1828"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define PdiSrc_t&#160;&#160;&#160;u32</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for u32. </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gaadc121bcc59feb4ece3c40802d81987b">XLoader_PdiInit()</a>, and <a class="el" href="group__xloader__server__apis.html#ga95eeb47f59afe0b42f06502ee0bd39f9">XLoader_PerformInternalPOR()</a>.</p>

</div>
</div>
<a class="anchor" id="a7e018fe67fe40d7db1fee76204c70078"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_AUTH_JTAG_INT_STATUS_POLL_INTERVAL&#160;&#160;&#160;(1000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Polling interval for checking Authenticated JTAG interrupt status. </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#ga36eeb66375a1d833608e9869ac5e8c25">XLoader_UpdateHandler()</a>.</p>

</div>
</div>
<a class="anchor" id="a732b3b1ac340dbfdb48da621a9d32071"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_CHUNK_SIZE&#160;&#160;&#160;(0x10000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>64K </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gac4b3b88f124856db12efa0ce4d6c81d0">XLoader_ReadAndVerifySecureHdrs()</a>.</p>

</div>
</div>
<a class="anchor" id="abdf297ceb824c64644f7dc39bb87dc3e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_DDR_TEMP_BUFFER_ADDRESS&#160;&#160;&#160;(0x50000000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Fixed DFU temporary address in DDR. </p>

</div>
</div>
<a class="anchor" id="abf2917ca5bd94bc73423c5990c220f74"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_DEVICE_COPY_OPTIMIZATION_MASK&#160;&#160;&#160;(0x30U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask to extract copy optimization bits of RTCA SecureCtrl registers. </p>

</div>
</div>
<a class="anchor" id="a47f9e913d294cbf5cda326e9aeef55f5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_DMA_LEN_ALIGN&#160;&#160;&#160;(0x10U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>16 bytes alignment </p>

</div>
</div>
<a class="anchor" id="a850f9e4c5fd1eb6b8c24594276a6cb76"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_DMA_LEN_ALIGN_MASK&#160;&#160;&#160;(0xFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask for 16 bytes alignment. </p>

</div>
</div>
<a class="anchor" id="a435334442f843644d3ebb0f870538830"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_FAILURE&#160;&#160;&#160;(u32)XST_FAILURE</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for XST_FAILURE. </p>

</div>
</div>
<a class="anchor" id="ad0311ce6cc613d2bc19f97ebf2c6321f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_IMAGE_SEARCH_OFFSET&#160;&#160;&#160;(0x8000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>32K </p>

</div>
</div>
<a class="anchor" id="a9c615acff1f97aef1faf318328da9cc6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_IMG_INDEX_NOT_FOUND&#160;&#160;&#160;(0xFFFFFFFFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Image Index Not found. </p>

</div>
</div>
<a class="anchor" id="abd92637607e4c3b9763909501b74e53d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_IMG_STORE_INVALID_ADDR&#160;&#160;&#160;(0xFFFFFFFFFFFFFFFFUL)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalid address in Image Store. </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gafa91a58dad6f9d08c018cbf914f7202c">XLoader_ReadImageStoreCfg()</a>.</p>

</div>
</div>
<a class="anchor" id="adbc3b9297a363fb6e4d32eae5981995e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_IMG_STORE_INVALID_SIZE&#160;&#160;&#160;(0x0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalid size in Image Store. </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gafa91a58dad6f9d08c018cbf914f7202c">XLoader_ReadImageStoreCfg()</a>.</p>

</div>
</div>
<a class="anchor" id="a8e7dfbd981e9ffd59d610f0966737376"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_INVALID_IMG_ID&#160;&#160;&#160;(0x0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalid Img ID. </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#ga1174525d720931317820d083d51efdd7">XLoader_GetImageInfoEntry()</a>, and <a class="el" href="group__xloader__server__apis.html#ga443aaeef586ee9cefe8509092d99ca17">XLoader_LoadImage()</a>.</p>

</div>
</div>
<a class="anchor" id="a276f17de892a055f66ab00fe7def7b07"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_INVALID_UID&#160;&#160;&#160;(0x0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Invalid UID. </p>

</div>
</div>
<a class="anchor" id="ac08a01801ca8b16fa3fa2482e109bbf4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_MAX_HANDOFF_CPUS&#160;&#160;&#160;(10U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; Subsystem related macros </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gaafe5cd1245a7aaf54eb6c3d1a1146578">XLoader_UpdateHandoffParam()</a>.</p>

</div>
</div>
<a class="anchor" id="a120a1c6196076e7d8f9d0c8344d8f0a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_MAX_PDI_LIST&#160;&#160;&#160;(32U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum number of PDIs. </p>

</div>
</div>
<a class="anchor" id="a719f68c8fa183b09472bd8a20a50ab59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLoader_MbPmcI2cHandshake&#160;&#160;&#160;(NULL)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>DDRMB - PMC I2C Handshake. </p>

</div>
</div>
<a class="anchor" id="afd7ea75c6ca83abbd15d201bfc2d676a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_MULTIBOOT_OFFSET_MASK&#160;&#160;&#160;(0x001FFFFFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Mask for multiboot offset. </p>

</div>
</div>
<a class="anchor" id="a1e31ccbd854b013520c511ca9a32b24d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_PCR_NUMBER_MASK&#160;&#160;&#160;(0x0000FFFFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number mask value. </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gafbdd06a059cd7970791f71533c47b8d6">XLoader_DataMeasurement()</a>.</p>

</div>
</div>
<a class="anchor" id="ab2378f829282076dd8a9caaa96dbd2c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_PDI_LOAD_COMPLETE&#160;&#160;&#160;(0x1U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; Status of PDI load </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#ga3dbbecc3b2545a3e076d421f086715e6">XLoader_RestartImage()</a>.</p>

</div>
</div>
<a class="anchor" id="a1652b4d0eb7aed02ead9dc01a2308f01"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_PDI_TYPE_FULL&#160;&#160;&#160;(0x1U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; Different PDI types </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#ga443aaeef586ee9cefe8509092d99ca17">XLoader_LoadImage()</a>, <a class="el" href="group__xloader__server__apis.html#gaadc121bcc59feb4ece3c40802d81987b">XLoader_PdiInit()</a>, <a class="el" href="group__xloader__server__apis.html#ga3dbbecc3b2545a3e076d421f086715e6">XLoader_RestartImage()</a>, and <a class="el" href="group__xloader__client__apis.html#gaaff698654e9776729055a8cdd661afa9">XLoader_ValidatePdiAuth()</a>.</p>

</div>
</div>
<a class="anchor" id="a82e4223ffe9c3d591f62b2a2cd61bb09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_PDI_VERSION_1&#160;&#160;&#160;(0x01030000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; PDI version </p>

</div>
</div>
<a class="anchor" id="ab12cb9d0e970d37bd121055708edf695"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_PDISRC_FLAGS_MASK&#160;&#160;&#160;(0xFU)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; SD boot related macros </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gaadc121bcc59feb4ece3c40802d81987b">XLoader_PdiInit()</a>.</p>

</div>
</div>
<a class="anchor" id="a9c2c59c675ae6513a4ec1ab298f9caf1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLoader_Printf&#160;&#160;&#160;XPlmi_Printf</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for XPlmi_Printf. </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gabdd3f08598453e93f5b6ce59411c1824">XLoader_StartImage()</a>.</p>

</div>
</div>
<a class="anchor" id="a81c7f515b6dd39b5c34b337451e9177e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_RESP_CMD_EXEC_STATUS_INDEX&#160;&#160;&#160;(0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Index of executed coammnd status. </p>

</div>
</div>
<a class="anchor" id="a30037b95bdaf68ea98a996ca4b1f9ca6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_RESP_CMD_LOAD_PDI_STATUS_INDEX&#160;&#160;&#160;(1U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Index of PDI load status. </p>

</div>
</div>
<a class="anchor" id="ac8097924f1abad9477162e3b273ccfc6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_SBI_INDEX&#160;&#160;&#160;(0U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; PDI Src index </p>

</div>
</div>
<a class="anchor" id="a899656e989a770acad6086a0c6dee62a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_SD_MAX_BOOT_FILES_LIMIT&#160;&#160;&#160;(8192U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum limit of boot files in SD filesystem. </p>

</div>
</div>
<a class="anchor" id="afbc78ce060738297f457ad9f7ae07295"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_SD_RAWBOOT_MASK&#160;&#160;&#160;(0xF0000000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; SD Raw boot </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gaf53860991287c550d874547a0ca021bb">XLoader_GetSDPdiSrcNAddr()</a>, and <a class="el" href="group__xloader__server__apis.html#gaadc121bcc59feb4ece3c40802d81987b">XLoader_PdiInit()</a>.</p>

</div>
</div>
<a class="anchor" id="a261fb4f12be9886db96079709efd1608"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_SHA3_LEN&#160;&#160;&#160;(48U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>SHA3 hash length in bytes. </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gafbdd06a059cd7970791f71533c47b8d6">XLoader_DataMeasurement()</a>, <a class="el" href="group__xloader__server__apis.html#ga12304b3fe7be1b2e0831cda984875428">XLoader_MaskGenFunc()</a>, <a class="el" href="group__xloader__server__apis.html#ga165b8b9d58043ef922abac0188d45373">XLoader_MeasureNLoad()</a>, <a class="el" href="group__xloader__server__apis.html#gaa912487046c04b1c90ca418a19ac3e0d">XLoader_ProcessAuthEncPrtn()</a>, <a class="el" href="group__xloader__server__apis.html#ga9df696fd17dec50576f817a1cd1f7105">XLoader_SecureEncInit()</a>, and <a class="el" href="group__xloader__server__apis.html#ga88fdae4e3fe98e871dd93c7cb31ce387">XLoader_VerifyHashNUpdateNext()</a>.</p>

</div>
</div>
<a class="anchor" id="afe7a2eabaffc84d18d84dcb5a3fc7db5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_SSIT_MONOLITIC&#160;&#160;&#160;XPLMI_SSIT_MONOLITIC</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; SLR Types </p>

<p>Referenced by <a class="el" href="group__xloader__server__apis.html#gaadc121bcc59feb4ece3c40802d81987b">XLoader_PdiInit()</a>, and <a class="el" href="group__xloader__server__apis.html#ga56a9ce1c4ab7abdcba0759e1165c8e57">Xloader_SsitEoPdiSync()</a>.</p>

</div>
</div>
<a class="anchor" id="adb8a1c93c55e43c1e0080faa28d292b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_SUCCESS&#160;&#160;&#160;(u32)XST_SUCCESS</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Alias for XST_SUCCESS. </p>

</div>
</div>
<a class="anchor" id="a43a56f4e5a72a30f9178f159abf585a4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_TOTAL_CHUNK_SIZE&#160;&#160;&#160;(<a class="el" href="xloader_8h.html#a732b3b1ac340dbfdb48da621a9d32071">XLOADER_CHUNK_SIZE</a> + 0x100U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Total chunk size. </p>

</div>
</div>
<a class="anchor" id="a1c07f25f3a85d246c5ebbca89c290fda"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XLOADER_UFS_MAX_BOOT_FILES_LIMIT&#160;&#160;&#160;(8192U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Maximum limit of boot files in UFS filesystem. </p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
